To provide users access to a mainframe computer, a host terminal application executing on a computer terminal with limited data processing capability was used to input commands and receive output data from a mainframe computer, replacing the use of punch cards. The computer terminal communicated with the mainframe over a serial data link and displayed information to the user as lines of fixed-width characters. Typically each line displayed 80 or 132 characters horizontally across a display. Since the characters were fixed-width, characters could be formatted in columns and the formatting would be displayed the same on any computer terminal. Output data was commonly displayed to a user in tabular format known as host tables. Given that each character was the same fixed width, host tables were created by ordering related data into horizontal rows and vertical columns. As the use of personal computers became more prevalent, host terminal applications were executed on personal computers, replacing the computer terminal. A host terminal application executing on a personal computer enabled a user of the personal computer to communicate with a mainframe computer as if the user were using a computer terminal connected to the mainframe computer.
Today's business users have grown accustomed to the ease of use of modern Web-based applications. Host application conversion technology is used with legacy terminal host applications to provide a quick and easy way to replace traditional displays with a familiar point-and-click interface. Host application conversion technology enables the proven, reliable host terminal applications, which are comparatively more difficult to learn and use, to be modernized with applications having a more familiar graphical user interface.
Once converted, the host terminal application is often displayed in an application window that is smaller than the display size of the original host terminal application. The converted host terminal application may be displayed on a data processing system having display sizes smaller than a typical computer workstation, such as personal digital assistants (PDAs), mobile telephones, interactive kiosks and remote displays. The converted host terminal application may also be displayed on the larger display of a typical computer workstation but in an application window having a reduced size so that the application window can be monitored while other windows are open, such as dashboard widgets and sidebar gadgets. In one example, legacy host application screens are translated into markup language code that is then viewed in a mobile browser application, such as Microsoft Internet Explorer Mobile. When attempting to display previously created data with a fixed layout, such as table data on a legacy host application screen, the data is larger than the amount of horizontal space available because host terminal applications were designed with the assumption of displaying 80 or 132 or more characters horizontally.
One solution known in the prior art for displaying legacy host application screens in application windows having a reduced size is to introduce horizontal scrolling. However, horizontal scrolling requires additional screen space and is not data-sensitive or intuitive with respect to the original layout of the host application screen.
Another solution known in the prior art is the one-column layout approach, which breaks each column out and displays them in succession in the page vertically. Stringing a table down the screen in this way makes it difficult or impossible to do many of the things that were simple with a table layout (e.g., comparing columns of figures or locating the desired row or record becomes very cumbersome). Tables that are rearranged in a one-column layout become much harder to read and interpret.
Yet another prior art approach is to truncate the width of all columns in order to fit the table into the page. Wide tables, such as tables found in legacy host application screens, end up having the data truncated and the result is that the data is unreadable or misleading.